The present invention relates to computer networks in general, and more particularly to methods and apparatus for detecting leaks in ATM networks.
A basic feature of Asynchronous Transfer Mode (ATM) networks is the ability of network endpoints to set up and tear down virtual channel connections (VCC) through which two endpoints communicate. In order to establish a VCC, a first ATM endpoint sends a xe2x80x9cSETUPxe2x80x9d message in accordance with the ATM access signaling protocol, also referred to as the user-network interface (UNI) protocol, to an ATM switch to which it is connected. The ATM switch then communicates with other ATM switches to which it is attached in accordance with the ATM network signaling protocol, also referred to as the network-node interface (NNI) protocol, until a path is found to the desired second ATM endpoint. The second ATM endpoint then accepts (or rejects) the connection, thus allowing communications to begin between the endpoints via the VCC.
A VCC is comprised of a sequence of virtual channels (VC), where each VC is defined by a logical connection between two ATM network nodes over a physical link between a port on one node and a port on the other node. For purposes of simplicity, xe2x80x9cnodesxe2x80x9d as referred to herein include both ATM endpoints and ATM switches. Thus, a VCC between a two endpoints A and D which is switched by two switches B and C along the path A-B-C-D comprises three VCs, one each between A and B, B and C, and C and D. Each VC is identified by a virtual channel identifier (VCI), and typically by a virtual path identifier (VPI) as well, both identifiers being assigned by the various switches along the VCC in accordance with signaling protocols. Commonly in ATM networks, the VPI/VCI of each VC vary along a single VCC, and it is the responsibility of each switch along the VCC to map each incoming VC to each outgoing VC by maintaining in memory the switch port and VPI/VCI of one VC and its mapping to the to the switch port and VPI/VCI of the next VC. Each endpoint also typically keeps track of the endpoint port and VPI/VCI for each VC through which the endpoint communicates. The VPI/VCI and port information maintained by an endpoint or a switch with respect to a VC is referred to herein as a xe2x80x9cVC mapping.xe2x80x9d
An endpoint may tear down a VCC by sending a xe2x80x9cRELEASExe2x80x9d message to the ATM switch to which it is connected along the VCC, whereupon each switch along the VCC and each endpoint is supposed to remove from its memory the VC mappings associated with the VCC being torn down. One problem common to ATM networks arises when a switch or endpoint fails to remove from memory a VC mapping of a VCC being torn down, or places in memory a VC mapping that is not associated with a VCC. Such a VC mapping that is not associated with a currently established VCC is referred to herein as a xe2x80x9cleak,xe2x80x9d which are difficult to detect.
FIG. 1 is a simplified block diagram which more clearly illustrates the concept of leaks in a prior art ATM network. Shown in FIG. 1 are five ATM network nodes including two endpoints 10 and 12, and three switches 14, 16, and 18. Each node in the illustration is configured with six ports 20, numbered from 1 to 6. A first VCC 22 is shown connecting endpoints 10 and 12 and is defined by three VCs 24, 26, and 28. A second VCC 30 is shown connecting endpoints 10 and 12 and is defined by three VCs 32, 34, and 36. A leak 38 is shown with respect to switch 14, ports 3 and 4 of which are mapped to each other not in connection with either VCC 22 or 30.
The following publication is believed to be descriptive of the current state of the art of ATM technology and terms related thereto:
Kwok, T., xe2x80x9cATM: The New Paradigm for Internet, Intranet, and Residential Broadband Services and Applications,xe2x80x9d Prentice Hall, 1998.
The disclosures of all patents, patent applications, and other publications mentioned in this specification and of the patents, patent applications, and other publications cited therein are hereby incorporated by reference.
The present invention seeks to provide methods and apparatus for detecting leaks in ATM networks.
There is thus provided in accordance with a preferred embodiment of the present invention a method for detecting leaks in an ATM network, the method including the steps of a) creating an entity interconnection map including mappings of port interconnections among a plurality of network nodes, the plurality of network nodes includes a plurality of network endpoints and at least one network switch, b) creating an endpoint map including at least one endpoint mapping of at least one port to at least one virtual identifier for at least one of the network endpoints and a leak indicator for the at least one network endpoint indicating that the network endpoint is either of a transmitting endpoint and a receiving endpoint, c) creating a switch map including at least one switch mapping of at least one port and virtual identifier grouping to at least one other port and virtual identifier grouping for the at least one network switch, d) initializing a leak indicator for each of the endpoint mappings and the switch mappings to indicate a leak condition, e) traversing a virtual channel connection from each transmitting endpoint in the endpoint map to a corresponding receiving endpoint in the endpoint map via the switch map, and f) setting each leak indicator for each endpoint mapping and switch mapping traversed along the virtual channel connection to indicate a no-leak condition.
Further in accordance with a preferred embodiment of the present invention the method further includes the step of reporting a leak condition for any of the mappings whose leak indicator indicates a leak condition.
Still further in accordance with a preferred embodiment of the present invention the virtual identifiers include either of a virtual channel identifier and a virtual path identifier.
Additionally in accordance with a preferred embodiment of the present invention the method further includes the steps of g) performing all of the steps a)-f) on a first representation of the ATM network at a first moment in time, h) thereafter performing all of the steps a)-f) on a second representation of the ATM network at a second moment in time, and i) identifying any of the mappings which exists at both of the first and second moments in time and whose leak indicator indicates a leak condition at both of the first and second moments in time.
Moreover in accordance with a preferred embodiment of the present invention the method further includes the steps of l) initializing a true leak indicator for any of the mappings which exists at both of the first and second moments in time to indicate a no-true-leak condition, and m) setting each of the true leak indicators to indicate a true-leak condition for any of the mappings identified in step i).
Further in accordance with a preferred embodiment of the present invention the method further includes the step of reporting a true leak condition for any of the mappings identified in step i).
Still further in accordance with a preferred embodiment of the present invention the creating step b) includes receiving a notification from any of the network endpoints, the notification including the mapping of at least one port to at least one virtual identifier and the leak indicator indicating that the network endpoint is either of a transmitting endpoint and a receiving endpoint.
Additionally in accordance with a preferred embodiment of the present invention the creating step c) includes receiving a notification from any of the network switches, the notification including the mapping of at least one port and virtual identifier grouping to at least one other port and virtual identifier grouping.
Moreover in accordance with a preferred embodiment of the present invention the notification is received as the result of an SNMP trap.
It is appreciated throughout the specification and claims that the terms network, node, switch, endpoint, and port may refer to any hardware and/or software implementation thereof, including software simulations thereof.